﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Kaidou.Persister;
using Kaidou.Model;
using Kaidou.Util;

namespace Kaidou.Bll
{
    public class MST_Union_BranchManager
    {
        public List<string> checkInsertOrUpdateBranch(mst_union_branch M, System.Resources.ResourceManager rm, bool insert)
        {
            InputErrorException ie = new InputErrorException(rm);
            try
            {

                if (insert)
                {
                    // 組合員コードチェック
                    ParameterCheckUtility.checkUnionCode(ie, M.Id.unioncode);
                    //組合員コード存在チェック
                    ParameterCheckUtility.existUnion(ie, M.Id.unioncode);

                    // 支店コードチェック
                    bool flag = ParameterCheckUtility.checkBranchCode2(ie, M.Id.branchcode);
                    //支店コード存在チェック
                    if (flag)
                    {
                        ParameterCheckUtility.notexistBranch(ie, M.Id.unioncode, M.Id.branchcode);
                    }

                }


                // 支店等の名称チェック
                ParameterCheckUtility.checkBranchName(ie, M.officename);
                // 支店等の名称(カナ)チェック
                ParameterCheckUtility.checkBranchNameKana(ie, M.officekana);

                // 所在地・郵便番号チェック
                ParameterCheckUtility.checkZipNo(ie, M.officezipno, M.officezipno1, M.officezipno2);

                //都道府県コードのチェック
                ParameterCheckUtility.checkPrefCode(ie, M.officeprefcode);

                // 所在地・市区町村チェック
                ParameterCheckUtility.checkCity(ie, M.officecity);

                // 所在地・番地以降チェック
                ParameterCheckUtility.checkAddress(ie, M.officeaddress);

                // 代表電話番号チェック
                ParameterCheckUtility.checkTelNo(ie, M.officetel);

                // FAX番号チェック
                ParameterCheckUtility.checkFaxNo(ie, M.officefax);

                // EMAILチェック
                ParameterCheckUtility.checkMailAddress(ie, M.officeemail);

                // 担当者名
                ParameterCheckUtility.checkTantoName(ie, M.tantoname);

                // 担当者名(カナ)
                ParameterCheckUtility.checkTantoNameKana(ie, M.tantokana);

                //パスワードチェック
                ParameterCheckUtility.checkPassword(ie,M.password);

            }
            catch (Exception e1)
            {
                ie.addErrorCode(ErrorCodeDefine.CHECK_SYS_ERROR);
                LogManager.error("MST_Union_BranchManager - checkInsertOrUpdateBranch " + e1.Message);
            }

            return ie.getErrorMessages();
        }
    }
}
